package com.medical.mapper;

import com.medical.entity.UserEntity;
import com.medical.entity.vo.PrescriptionVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
//@Repository
public interface UserMapper {

    /**
     * 用户登录
     *
     * @param userAccount
     * @param userPassword
     * @return
     */
    UserEntity findByUserAccountAndUserPassword(
            @Param("userAccount") String userAccount,
            @Param("userPassword") String userPassword);

    /**
     * 用户注册
     * 检查用户唯一性
     *
     * @param
     * @return
     */
    int insertUser(@Param("userAccount") String userAccount,
                   @Param("userPassword") String userPassword,
                   @Param("userName") String userName);

    UserEntity findByUserAccount(
            @Param("userAccount") String userAccount);

    /**
     * 查询用户信息
     *
     * @return
     */
    List<UserEntity> selectList();

    /**
     * 修改用户信息
     *
     * @param userEntity
     * @return
     */
    int update(UserEntity userEntity);

    /**
     * 用户注销
     * 删除用户登录信息
     *
     * @param
     * @return
     */
    boolean delete(@Param("userAccount") String userAccount);

    /**
     * 根据用户ID查询数据
     * @param userId
     * @return
     */
    PrescriptionVo selectByIdDetails(@Param("userId")  String userId);

    /**
     * 修改密码
     * @param userId
     * @return
     */
    int updateById(@Param("userId") String userId,@Param("userPassword") String userPassword);
}
